module.exports = {
  presets: [
    [
      '@babel/preset-env',
      {
        // 防止babel将任何模块类型都转译成CommonJS类型，导致tree-shaking失效问题
        modules: false,
        // 只导入需要的 polyfill
        useBuiltIns: 'usage',
        // 指定 corjs 版本
        corejs: 3,
        targets: {
          browsers: ['last 2 versions'], // 最近 2 个版本的浏览器
        },
      },
    ],
    // 转jsx
    '@babel/preset-react',
    '@babel/preset-typescript',
  ],
  // @babel/runtime-corejs3 是辅助函数
  plugins: [
    // 开发库/工具、移除冗余工具函数(helper function)
    [
      '@babel/plugin-transform-runtime',
      {
        corejs: {
          version: 3,
          proposals: true,
        },
        useESModules: true,
      },
    ],
    [
      // 支持 装饰器语法
      "@babel/plugin-proposal-decorators",
      {
        "legacy": true
      }
    ]
  ]
}
